#!/bin/bash
# 容器名称（全小写，与项目名一致）
CONTAINER_NAME="spring-boot-test"
IMAGE_TAG=$1  # 使用第一个参数作为镜像tag

# 检查容器是否存在并停止/删除
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
    echo "发现已存在的容器: ${CONTAINER_NAME}"
    if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
        echo "正在停止运行中的容器..."
        docker stop ${CONTAINER_NAME}
    fi
    echo "删除旧容器..."
    docker rm ${CONTAINER_NAME}
fi

# 启动新容器
echo "启动容器 ${CONTAINER_NAME}..."
docker run -d \
    --name ${CONTAINER_NAME} \
    -v ${PWD}/logs:/app/logs \  # 使用项目相对路径
    -p 9000:8080 \  # 外部9000映射到内部8080（Spring Boot默认端口）
    ${CONTAINER_NAME}:${IMAGE_TAG}

# 验证容器状态
sleep 3  # 等待容器初始化
docker ps --filter "name=${CONTAINER_NAME}" --format "table {{.Names}}\t{{.Status}}"